{{tag>Dapper Hardy Jaunty Karmic tutoriel partage imprimante}}

----


====== Comment configurer un ordinateur en "serveur d'impression" ? ======

Cette page explique comment configurer un poste Ubuntu en **serveur d'impression**. Cette configuration va permettre de** partager une imprimante** qui est raccordée directement à cet ordinateur.

La schéma suivant décrit cette situation :

{{ :print_part_ubuntu.png?nolink }}

<note help>Cette documentation explique la méthode pour Ubuntu, Edubuntu et Xubuntu, et une méthode universelle à tous les systèmes disposant de CUPS (MacOS et Unix en général).</note>


===== Pré-requis =====

  * [[:reseau|Un réseau fonctionnel]] ;
  * [[:imprimante|une imprimante installée]] ;
  * [[:reglages_du_reseau|le PC serveur (celui à configurer), qui va partager l'imprimante, doit être en IP fixe sur le réseau local]] (seulement pour 7.04 et précédents).


===== Configuration du poste Serveur =====

==== Ubuntu 9.04 et supérieurs ====

=== Méthode via l'interface web de CUPS ===
Aller à l'adresse [[http://localhost:631/admin]] et cocher "Partager les imprimantes connectées à ce système".

<note tip>Si votre serveur n'a pas d'interface graphique, il faut autoriser un accès d'une autre machine du réseau (avec interface graphique elle !) : sur le serveur , /etc/cups/cupsd.conf , modifier (dans l'exemple, 192.168.0.1 est le serveur et 192.168.0.2 et la machine de laquelle on veut accéder à l'interface web:

  Listen 192.168.0.1:631

  # Restrict access to the admin pages...
  <Location /admin>
  Order deny,allow
  Deny From All
  Allow From 127.0.0.1
  Allow from 192.168.0.2
  </Location>

Il faut ensuite redémarrer cups : 

  sudo service restart cups

Une fois ceci fait, on accède à l'interface web via : [[http://192.168.0.1:631/admin]]
 </note>
''# Restrict access to the admin pages...
<Location /admin>
  Order deny,allow
  Deny From All
  Allow From 127.0.0.1
  Allow from 192.168.0.2
</Location>
''
=== Autre méthode ===

  * Ouvrir le gestionnaire de configuration d'impression :
    * //Système -> Administration -> Impression//
  * Installer l'imprimante si ce n'est pas déjà fait :
    * Consulter [[:imprimante|cette page]] pour plus d'informations
  * Ouvrir le partage global :
    * //Serveur -> Paramètres//
    * Cocher la case "Publier les imprimantes partagées connectées à ce système"
    * Cliquer sur "Valider"
  * Ouvrir le partage pour votre imprimante :
    * Clic droit sur l'imprimante à partager -> Cocher la case "Partagée"
  * Configurer le pare-feu
    * Autoriser le port TCP 631 en entrée

<note tip>Si le gestionnaire se bloque sur une erreur « Failed to set settings », la solution (moins propre) est de refaire la modification en tant que root : 
**sudo /usr/bin/system-config-printer**</note>

=== Problème possible ===

Si après la configuration vous ne pouvez toujours pas partager votre imprimante, éditez le fichier **/etc/cups/cupsd.conf** en remplaçant la variable **@LOCAL** par votre adresse réseau **192.168.*** dans la section //Allow shared printing...//

<file>
<Location />
  # Allow shared printing...
  Order allow,deny
  # Allow @LOCAL
  Allow 192.168.*
</Location>
</file>

Ensuite, relancez CUPS via la commande dans un [[:terminal]]:

  sudo service cups restart


==== CUPS : universel, pratique, fiable ====

{{cups2.png}}

Si CUPS est installé, une interface WEB est disponible à l'adresse [[http://localhost:631]].
Cette jolie interface est celle de CUPS, et à partir de là, votre paramétrage peut se faire en quelques clics de souris.


=== Ajouter une imprimante ===

Sous la bannière bienvenue vous trouverez "ajouter une imprimante"... Suivez les instructions.

=== Autoriser les utilisateurs à s'en servir ===

Aller dans l'onglet "administration" (2e en partant de la gauche), cocher 2 ou 3 lignes : 
  * l'une concernant le partage publique,
  * l'autre pour autoriser l'impression depuis internet,
  * et la dernière si vous le souhaitez (facultatif, mais bien pratique) l'administration à distance.

Cette dernière vous permettra de faire un petit coucou à votre CUPS et de le configurer depuis n'importe quel poste de votre réseau local, en y accédant ainsi :
  http://<@ip_du_cups_de_l'imprimante>:631
Ou même depuis l'Internet (la 2e ligne servant à ça), à condition que votre connexion à Internet redirige le port 631 vers votre ordinateur (enfin celui disposant du CUPS).


== Un exemple simple ==

Admettons que votre imprimante soit connectée soit en USB, soit en parallèle (ou tout autre interface), à un ordinateur dont l'adresse IP est 192.168.1.3 dans le réseau local. Alors, accéder à cette imprimante (et surtout au CUPS qui la concerne) se fera //via// [[http://192.168.1.3:631/]].

=== La petite astuce ===

Plein d'imprimantes sur le réseau ? Pas de panique. À chaque CUPS son imprimante, mais aussi celle de l'autre.
Il vous suffira d'ajouter une imprimante, connectée en IPP //(Internet Printing Protocol)// et d'entrer en guise d'adresse :

  ipp://<@ip_du_cups_de_l'imprimante>:631/printers/<nom_de_l'imprimante_sur_ce_cups>/


== Exemple simple ==

Si mon ordinateur, dont l'@IP est 192.168.1.3 sur le réseau local dispose d'une imprimante parallèle configurée préalablement, et dont le nom est TralAlA123, alors l'adresse PII((traduction la plus adaptée de IPP : Protocole d'impression par Internet)) est la suivante :
  ipp://192.168.1.3:631/printers/TralAlA123
Et celle-ci reste valable sur tout le réseau local.


=== Le dernier coup de pouce ===

Une aide formidable est fournie. L'aide est bien documentée (bien qu'améliorable, bien sûr), mais en Anglais, ce qui risque d'en tuer plus d'un.


<note>Pour le cas d'un serveur ne possédant pas d'interface graphique on peut accéder à l'interface web de cups (non accessible par défaut depuis un autre poste), pour cela connecter vous dans un premier temps au sevrer grâce au protocole ssh, vous pourrez ainsi à l'aide d'un programme de navigation web pour console tel que lynx ou links y géré cups en vous rendant à l'adresse suivante : 127.0.0.1:631

Vous pourrez entre autre y activer l'administration à distance de cups, pour cela rendez vous dans la partie administration, cocher la casse //Allow remote administration//, puis appliquer avec //change settings//.

Enfin à l'aide de votre navigateur web préférer vous pouvez gérer facilement cups à distance en vous rendant à adresse_de_votre_serveur:631</note>
===== Configurer un client pour accéder à l'imprimante =====

==== Configuration d'un client Ubuntu 8.04 LTS ou suivants ====

=== Automatiquement ===

  * Ouvrez le gestionnaire de configuration d'imprimante:
    * //Système -> Administration -> Impression// pour Ubuntu,
    * //Applications -> Paramètres -> Impression// pour Xubuntu,
  * Puis sélectionnez **Paramètres du serveur** et cocher la case **Montrer les imprimantes partagées par les autres systèmes**,
  * Cliquez sur **Appliquer**,
  * Fermez puis réouvrez le configurateur,
  * Cliquez sur **Actualiser** : l'imprimante devrait apparaître en dessous de **Imprimantes distantes**,
  * Paramétrez ensuite comme imprimante par défaut si vous le voulez.

=== Manuellement ===

Si l'auto-détection ne marche pas, ou si l'ordinateur qui partage l'imprimante ne partage pas les données permettant l'auto-détection, suivez cette méthode :

  * ouvrez : //Système -> Administration -> Impression//, 
  * puis cliquez sur : **Nouvelle imprimante**;
  * dans la liste, choisissez : **Internet Printing Protocol (ipp)**;
  * dans la case **Hôte :** tapez l'adresse IP du serveur d'impression, dans la case **File d'attente :** tapez le nom de l'imprimante (telle qu'elle est nommée sur le serveur) et cliquez sur **Vérifier...**. Un message vous dira si l'imprimante est accessible, sinon vérifiez vos paramètres.
  * dans la fenêtre qui apparaît, choisissez l'imprimante que vous voulez utiliser, et faites **Valider**,
  * faites **Suivant**, et choisissez le pilote de l'imprimante distante,
  * arrivé au choix du nom de l'imprimante, donnez lui un nom, et faites **Appliquer**,
  * ensuite, dans la fenêtre principale, cliquez sur **Appliquer** et ensuite **Actualiser**, l'imprimante devrait apparaître en dessous de **Imprimantes Réseau**,
  * il vous suffira ensuite de la paramétrer comme imprimante par défaut si vous le voulez.

<note important>Si vos imprimantes réseau sont correctement reconnues mais qu'à l'impression rien ne se passe... lisez les 2 points suivants.</note>

<note>Amis débutants, si vous ne comprenez pas le point 1 ci-dessous passez au 2 directement...</note>

== Explication et détection du problème ==

Essayez de faire un ping sur votre machine serveur (pas l'IP !) si ça ne marche pas vous tenez le coupable !
CUPS présente à mon avis un petit défaut à ce niveau-là.
Une connexion réseau et CUPS peut très bien se faire en utilisant seulement des adresses IP, mais à la détection d'une imprimante réseau CUPS enregistre son adresse IPP en utilisant le nom d'hôte du serveur, ensuite à l'impression c'est le nom en question qui est utilisé pour chercher le serveur.
Or... le nom d'hôte du serveur n'est pas toujours connu du client.

== Résolution du problème ==

Il vous suffit de faire connaître le nom d'hôte du serveur au client. Concrètement, il suffit de [[:tutoriel:comment_modifier_un_fichier|modifier le fichier]] **/etc/hosts** pour ajouter une ligne au début (sans effacer le reste) avec l'IP du serveur d'impression suivie de son nom. Exemple :

<file>
192.168.xx.xx   nom_du_serveur
</file>

Si vous ne savez pas par quoi remplacer les xx.xx et avez accès au serveur, il suffit d'y taper « ''ifconfig'' » dans un [[:terminal]]. Vous y trouverez une ligne avec un message du type : <file>inet adr:192.168.1.10</file> C'est justement l'adresse IP de la machine sur le réseau local.
Si vous n'avez pas la possibilité de faire cela, demandez à l'administrateur du serveur.

Concernant le nom d'hôte, sur votre machine cliente il suffit de regarder là : [[http://localhost:631/printers/|http://localhost:631/printers/]] c'est la page des imprimantes de CUPS.
Cherchez l'imprimante réseau située sur le serveur qui vous intéresse et vous devez voir une ligne du type :
<code>URL du matériel : IPP://nom_du_serveur:631...</code>
C'est ce nom qu'il faut utiliser pour votre fichier **/etc/hosts.**

Voilà, avec ça vous devriez pouvoir faire "bonne impression" ;-)

----

//Contributeurs : figaro, [[:utilisateurs:dmoyne]], [[:utilisateurs:Incoming]], [[:utilisateurs:KinderSurpriZ]], [[:utilisateurs:Fabien26]], [[:utilisateurs:dsi0743]], [[:utilisateurs:DarkHylian]], [[:utilisateurs:Mysteroïd]], [[:utilisateurs:guigouz]].//